/**
 * @author cmtlyt
 * @version v1.0
 */

package chapter02;

/*
 逻辑运算符
*/

public class LogicalOperator {
 public static void main(String[] args) {
  // 区分 & 和 &&
  boolean b1 = false;
  int num1 = 10;
  if (b1 & (num1++ > 0)) {
   System.out.println(1);
  } else {
   System.out.println(2);
  }
  System.out.println(num1);

  boolean b2 = false;
  int num2 = 10;
  if (b2 && (num2++ > 0)) {
   System.out.println(1);
  } else {
   System.out.println(2);
  }
  System.out.println(num2);
  // 两个运算结果相同
  // 当符号左边是true,两者都会执行符号右边的运算
  // 当符号左边是false时,&会继续执行符号右边的运算,&&不会再执行符号右边的运算
  
  // | 和 ||
  boolean b3 = true;
  int num3 = 10;
  if (b3 | (num3++ > 0)) {
   System.out.println(1);
  } else {
   System.out.println(2);
  }
  System.out.println(num3);

  boolean b4 = true;
  int num4 = 10;
  if (b4 || (num4++ > 0)) {
   System.out.println(1);
  } else {
   System.out.println(2);
  }
  System.out.println(num4);
  // 两个运算结果相同
  // 当符号左边是false,两者都会执行符号右边的运算
  // 当符号左边是true时,|会继续执行符号右边的运算,||不会再执行符号右边的运算
 }
}
